Technologies for streaming and downloading video resources from back-end servers to client devices are ubiquitous and indispensable tools used in industries ranging from digital entertainment, gaming, online education, and business applications. A variety of computing systems and network architectures may be implemented to support video streaming, downloading, and playback, including Internet-based systems, satellite or cable communication systems, cellular/mobile network communications, etc. Client devices, such as business or residential based appliances (e.g., computers, televisions, etc.) as well as mobile devices of users, may retrieve video resources through a variety of front-end applications that may leverage any of the various computer and network architectures described herein, or any combination of such architectures. Often a user may initiate the retrieval of a particular video resource, either streaming for immediate viewing, or downloading for playback at a later time, with the user not ever knowing from which back-end servers the video will be retrieved, or over which networks the video will be transmitted.
When a client device requests a video from a back-end server, either for immediate streaming or downloading for later playback, the client device might not be aware of all of the characteristics of the requested video, such as the size, length, quality, storage location, and network access path of the requested video. Similarly, the back-end server from which the video has been requested might not be aware of certain operating characteristics or the current settings or status of the client device, such as the device's current allocation of hardware resources, software resources, network usage, and the like. Furthermore, during the process of streaming a video from a remote location to a client device, the characteristic of the video streaming process (e.g., storage location, streaming bit rate, video size/quality, networks used for streaming, etc.) may potentially change. For all of these reasons, the resource management and video retrieval/streaming determinations made at the client device and/or the remote storage location of the requested video may not correspond to the needs and priorities of the users and devices involved.